﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using CapaNegocio;
using CapaDTO;


namespace CapaGUI
{
    public partial class MantenedorProducto : Form
    {
        String resultado;
        Error errorAux = new Error();

        public MantenedorProducto()
        {
            InitializeComponent();
        }

        private void btoModificarProducto_Click(object sender, EventArgs e)
        {
            NegocioProducto negocioModificar = new NegocioProducto();
            int error = 0;

            Producto nuevo = new Producto();
            try
            {
                if (txtIdProducto.Text.Length == 0)
                {
                    error = 1;
                    MessageBox.Show("Debe Ingresar Número de Id para modificar", "Mensaje Sistema");
                }
                else
                {
                    nuevo.Id_producto1 = Int32.Parse(txtIdProducto.Text);
                }
            }
            catch
            {
                Console.WriteLine("Id no valido");
            }
            nuevo.Nombre_producto = txtNombreProducto.Text;
            nuevo.Valor = Int32.Parse(txtValor.Text);
            nuevo.Id_tipo1 = Int32.Parse(txtIdTipo.Text);

            if (error == 0)
            {
                errorAux = negocioModificar.modificarProducto(nuevo);
                if (errorAux.CodError != 0)
                {
                    MessageBox.Show("Se detectó un error al modificar: \n\n " + errorAux.DescError, "Código de Error: " + errorAux.CodError);
                }
                else
                {
                    MessageBox.Show("Se ha modificado correctamente", "Mensaje Sistema");
                }
            }
        }

        private void btoIngresarProducto_Click(object sender, EventArgs e)
        {
            
        
            NegocioProducto negocioInsert = new NegocioProducto();
            int error = 0;
            Producto nuevo = new Producto();
            try
            {
                 /*Verificamos si el campo teléfono está vacio, si lo está asignamos error = 1*/
                if (txtIdProducto.Text.Length == 0)
                {
                    error = 1;
                    MessageBox.Show("Debe Ingresar Número de Teléfono para insertar", "Mensaje Sistema");
                }
                else 
                {
                    nuevo.Id_producto1= Int32.Parse(txtIdProducto.Text);
                }
            }
            catch
            {
                Console.WriteLine("Telefono no valido");
            }
            /*Definimos los campos a insertar en la variable nuevo [Cliente]*/
            nuevo.Nombre_producto= txtNombreProducto.Text;
            nuevo.Valor= Int32.Parse(txtValor.Text);
            nuevo.Id_tipo1 =Int32.Parse(txtIdTipo.Text);
           
            /*Verificamos si tenemos error = 0 para insertar el cliente*/
            if(error == 0){
               errorAux = negocioInsert.insertarProducto(nuevo);
               /*Verificamos si hubo algún error al insertar y si lo hay lo desplegamos en pantalla*/
               if (errorAux.CodError != 0)
               {
                   MessageBox.Show("Se detectó un error al insertar: \n\n " + errorAux.DescError, "Código de Error: " + errorAux.CodError);
               }
               else 
               {
                   MessageBox.Show("Se ha insertado correctamente", "Mensaje Sistema");
               }
            }
        }

        private void btoConsultar_Click(object sender, EventArgs e)
        
            
        {
            if (this.txtIdProducto.Text.Length == 0)
            {
                MessageBox.Show("Debe Ingresar Número de Teléfono", "Mensaje Sistema");
            }
            else
            {
                NegocioProducto auxNegProducto = new NegocioProducto();
                Producto auxProducto = new Producto();
                auxProducto = auxNegProducto.buscarProducto(Convert.ToInt32(this.txtIdProducto.Text));

                resultado = auxProducto.Resultado;

                if (auxProducto.Resultado == "1")
                {
                    this.txtNombreProducto.Text = auxProducto.Nombre_producto.ToString();
                    this.txtValor.Text = auxProducto.Valor.ToString();
                    this.txtIdTipo.Text = auxProducto.Id_tipo1.ToString();
                    
                }
                else {
                    MessageBox.Show("No se encontraron datos con el teléfono ingresado", "Mensaje Sistema");
                }
            }
        }
        }
        }

        


    



        
       